package com.group2.operations.service;

import com.group2.operations.common.api.ApiResult;
import com.group2.operations.model.Contract;

import java.io.IOException;
import java.io.OutputStream;
import java.util.List;

public interface ContractService {
    /**
     * 列举某个用户的所有合同
     * @param uid 用户ID
     * @return
     */
    List<Contract> listContracts(int uid);

    /**
     * 根据合同ID查找合同文件名
     * @param id
     * @return
     */
    String queryContractNameById(int id);

    /**
     * 下载OSS文件
     * @param os 输出流
     * @param objectName 文件名
     * @throws IOException
     */
    void exportOssFile(OutputStream os, String objectName) throws IOException;

    /**
     * 对合同进行操作
     * @param username 用户名
     * @param cid 合同ID
     * @param action 动作（签署或拒绝）
     */
    ApiResult actContract(String username, int cid, String action);
}
